import { getHomeGoodPriceData } from '@/services';
import { createSlice,createAsyncThunk } from '@reduxjs/toolkit' 

export const fetchhomedata = createAsyncThunk("fetchhomedata", 
  async (extraInfo,{dispatch,getState})=>{
    console.log("extraInfo",extraInfo);

    const res = await getHomeGoodPriceData()
    return res
    //  // 这里是 异步请求到结果的 位置 这里可以进行 真正的 dispatch 去修改 redux 里的 state
    // console.log("res",res);
    // 这块 直接调用  dispatch 也是一种修改 state 的方法
    // dispatch(changeGoodPriceInfoAction(res))
    // 这里 可以接收参数
    // getHomeGoodPriceData().then(res=>{
    //   console.log("res",res);
     
      
      

    // })
  }
)

const homeSlice = createSlice({
  name:"home",
  initialState:{
    goodPriceInfo:0,
  },
  reducers:{
    changeGoodPriceInfoAction(state,action){
      console.log("action",action);
      const payload = action.payload
      state.goodPriceInfo = payload

    },
  },
  extraReducers:{
    // action 这里的action 是个标准的 action 类型的参数
    [fetchhomedata.fulfilled](state,{payload}){
      console.log("fetchhomedata_action",payload);
      state.goodPriceInfo = payload
    }
  }

})

export const { changeGoodPriceInfoAction } = homeSlice.actions

export default homeSlice.reducer